iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0
DevOps

從認識Docker到精通系列 第 29

第二十九天 - R~K8s你怎麼變心了:DockerShim 棄用新聞及podman

  • 分享至 

  • xImage
  •  

R~K8s你怎麼變心了:DockerShim 棄用新聞及podman

在先前的幾篇文章裡,講到了 docker的概念、及 K8s 的基礎架構:各式各樣的controller和volume的設置,那麼今天來講講近年來也是一個滿大的新聞,也就是k8s官方棄用dockershim、以及近期興起、號稱docker對手的podman 這兩件事吧

簡介 Podman


Podman是一套由紅帽公司 RedHat 推出的容器管理工具組(全名是 pod manager),它存在的目的就是要取代docker管理 OCI 容器和 pod (A tool for managing OCI containers and pods),相較於 docker,podman擁有以下特點:

  • 支援多種格式的映像,如 OCI 和 Docker 映像,也支援從不同的來源啟動容器、管理容器、推送image 至各類倉庫等
  • 管理 pod
  • daemonless: 無背景應用程序(無daemon),直接對符合 OCI Container Runtime 的 runc 操作
  • rootless,不需管理員權限即可執行,(docker需要使用root權限執行,可能會造成一些資安的問題)
  • fork/exec 模式執行:更貼近 linux process 的操作
  • 可直接用 systemd 整合使用

OCI???

OCI (open container initiative)為一個開放原始碼的共通容器標準,為Clound Natives基金會自2016年提出的新一套關於runtime和image的規範,其重點是映像的輕量化、runtime改用runC等,詳情請見OCI的網站

好,所以發生了什麼

podman跟docker之間的劇烈討論是從這篇 Don't Panic: Kubernetes and Docker | Kubernetes文章的發布開始,文章內容大致內容,就是之前作為 docker 和 k8s 之間的容器介面 dockershim 被k8s 團隊停止維護,而支援轉向CRI-O 和containerd ,而 CRI-O 和 containerd 正是 podman 採用的 OCI的預設runtime,因此有些用戶也開始著手進行從docker到podman的遷徙。

當然,docker 被 k8s 棄用不代表 dockert 的衰亡,docker仍有podman無法取代的地方,此事件僅是代表 dockershim 從 1.24 版的 k8s去除而已,也許之後docker也說不定會投向 OCI 的懷抱呢!

REF


上一篇
第二十八天 - StorageClass
下一篇
第三十天 - 總結&完賽心得
系列文
從認識Docker到精通30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言